package neo.aoi;

/**
 * This interface provides methods for tracking the progress of an export
 * process. Classes which perform the export process can use this interface to
 * comunicate to other classes the progress at any given point.
 * 
 * @author Carlos Martinez
 */
public interface ExportProgressListener {
	/**
	 * Signals this ExportProgressListener for updating which object out of how
	 * many is currently being exported.
	 * 
	 * @param currObj
	 *            Current object being exported. Must be a possitive integer
	 *            less than or equal to totalObjects.
	 * @param totalObjects
	 *            Total objects to be exported in this process.
	 */
	public void alertObject(int currObj, int totalObjects);

	/**
	 * Signals this ExportProgressListener to update the progress of the whole
	 * process showing that the process has finalized.
	 */
	public void finished();
}
